package com.smartlbs.service;

import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageInfo;
import com.smartlbs.dto.UserOrderDto;
import com.smartlbs.entity.UserBasic;
import com.smartlbs.entity.UserOrder;

/**
 * 用户订单信息业务层接口
 * 
 * 
 *
 */
public interface IUserOrderService {
	
	/**
	 * 录入一条用户订单信息
	 * 
	 * 
	 * 
	 * 
	 * @param userOrder
	 * @return
	 */
	public int addUserOrder(UserOrder userOrder, UserBasic currentUser);
	
	/**
	 * 订单下注
	 * 
	 * 
	 * 
	 * 
	 * @param orderId
	 * @return
	 */
	public Integer payOrder(Long orderId, String points);
	
	/**
	 * 删除订单
	 * 
	 * 
	 * 
	 * @param orderId
	 */
	public void delete(Long orderId);
	
	/**
	 * 订单结算
	 * 
	 * 
	 * 
	 * @param orderId
	 * @return
	 */
	//public boolean account(Long orderId);
	
	/**
	 * 按赛事结算
	 * 
	 * 
	 * 
	 * 
	 * @param lids
	 * 			赢的押注项ID组
	 * @return
	 */
	public void accountByBet(Long betId);
	
	/**
	 * 分页获取用户订单信息
	 * 
	 * 
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @param userOrder
	 * @return
	 */
	public PageInfo<UserOrder> find(Integer pageNum, Integer pageSize, UserOrderDto userOrderDto);
	
	/**
	 * 获取订单数量信息按状态分组
	 * 
	 * 
	 * 
	 * @param userOrderDto
	 * @return
	 */
	public List<Map> queryTitle(UserOrderDto userOrderDto);
}